package string;

public class SringDemo {
    public static void main(String[] args) {
        String a=new String("hello");
        /*
        问；如上语句创建了几个对象
        答2个
          第一个；字面量"hello"
          -----java会创建一个String对象表示字面量“hello”，并将其存入常量池中
          第二个；new String（）
          ------new String（）时会再创建一个字符串对象，并引用hello字符串内容
         */
String s=new String("hello");
String s1="hello";
        System.out.println(s==s1);//比较地址
        System.out.println(s.equals(s1));//比较内容




        /*String s1="abc123";
        String s2="abc"+"123";//编译时直接拼接
        System.out.println(s1==s2);//true
        String s3="abc";
        String s4=s3+"123";//s3是一个变量不会直接拼接，会重新创建一个对象储存“abc123”
        System.out.println(s1==s4);//false*/
    }
}
